/*==============================================================*/
/* DBMS name:      Microsoft SQL Server 2005                    */
/* Created on:     02-12-2010 18:18:00                          */
/*==============================================================*/


if exists (select 1
            from  sysindexes
           where  id    = object_id('ASIGNACION_MATERIAL_TRABAJADOR')
            and   name  = 'SE_LE_ASIGNAN_FK'
            and   indid > 0
            and   indid < 255)
   drop index ASIGNACION_MATERIAL_TRABAJADOR.SE_LE_ASIGNAN_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('ASIGNACION_MATERIAL_TRABAJADOR')
            and   type = 'U')
   drop table ASIGNACION_MATERIAL_TRABAJADOR
go

if exists (select 1
            from  sysobjects
           where  id = object_id('CLIENTE')
            and   type = 'U')
   drop table CLIENTE
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('COMPOSICION')
            and   name  = 'SE_COMPONE_FK'
            and   indid > 0
            and   indid < 255)
   drop index COMPOSICION.SE_COMPONE_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('COMPOSICION')
            and   name  = 'COMPONE_FK'
            and   indid > 0
            and   indid < 255)
   drop index COMPOSICION.COMPONE_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('COMPOSICION')
            and   type = 'U')
   drop table COMPOSICION
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_HERRAMIENTA_PEDIDO')
            and   name  = 'DET_HERR_PEDI_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_HERRAMIENTA_PEDIDO.DET_HERR_PEDI_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_HERRAMIENTA_PEDIDO')
            and   name  = 'HERR_PEDIDA_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_HERRAMIENTA_PEDIDO.HERR_PEDIDA_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('DETALLE_HERRAMIENTA_PEDIDO')
            and   type = 'U')
   drop table DETALLE_HERRAMIENTA_PEDIDO
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_INSUMO_MAQUINA_TRABAJO')
            and   name  = 'NEC_INS_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_INSUMO_MAQUINA_TRABAJO.NEC_INS_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_INSUMO_MAQUINA_TRABAJO')
            and   name  = 'USARIA_INS_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_INSUMO_MAQUINA_TRABAJO.USARIA_INS_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('DETALLE_INSUMO_MAQUINA_TRABAJO')
            and   type = 'U')
   drop table DETALLE_INSUMO_MAQUINA_TRABAJO
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_INSUMO_PEDIDO')
            and   name  = 'PIDE_INS_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_INSUMO_PEDIDO.PIDE_INS_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_INSUMO_PEDIDO')
            and   name  = 'DET_INS_PEDI_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_INSUMO_PEDIDO.DET_INS_PEDI_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('DETALLE_INSUMO_PEDIDO')
            and   type = 'U')
   drop table DETALLE_INSUMO_PEDIDO
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_INSUMO_USADO')
            and   name  = 'DET_INS_PRES_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_INSUMO_USADO.DET_INS_PRES_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_INSUMO_USADO')
            and   name  = 'USA_INS_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_INSUMO_USADO.USA_INS_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('DETALLE_INSUMO_USADO')
            and   type = 'U')
   drop table DETALLE_INSUMO_USADO
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_OT')
            and   name  = 'TRAB_REALI_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_OT.TRAB_REALI_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_OT')
            and   name  = 'DET_TRAB_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_OT.DET_TRAB_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('DETALLE_OT')
            and   type = 'U')
   drop table DETALLE_OT
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_PRESUPUESTO')
            and   name  = 'PRES_SE_DET_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_PRESUPUESTO.PRES_SE_DET_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_PRESUPUESTO')
            and   name  = 'APARECE_DET_PRES_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_PRESUPUESTO.APARECE_DET_PRES_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('DETALLE_PRESUPUESTO')
            and   type = 'U')
   drop table DETALLE_PRESUPUESTO
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_REPUESTO_MAQUINA_TRABAJO')
            and   name  = 'NEC_REP_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_REPUESTO_MAQUINA_TRABAJO.NEC_REP_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_REPUESTO_MAQUINA_TRABAJO')
            and   name  = 'USARIA_REP_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_REPUESTO_MAQUINA_TRABAJO.USARIA_REP_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('DETALLE_REPUESTO_MAQUINA_TRABAJO')
            and   type = 'U')
   drop table DETALLE_REPUESTO_MAQUINA_TRABAJO
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_REPUESTO_PEDIDO')
            and   name  = 'PIDE_REP_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_REPUESTO_PEDIDO.PIDE_REP_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_REPUESTO_PEDIDO')
            and   name  = 'DET_REP_PEDI_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_REPUESTO_PEDIDO.DET_REP_PEDI_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('DETALLE_REPUESTO_PEDIDO')
            and   type = 'U')
   drop table DETALLE_REPUESTO_PEDIDO
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_REPUESTO_USADO')
            and   name  = 'DET_REP_PRES_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_REPUESTO_USADO.DET_REP_PRES_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('DETALLE_REPUESTO_USADO')
            and   name  = 'USA_REP_FK'
            and   indid > 0
            and   indid < 255)
   drop index DETALLE_REPUESTO_USADO.USA_REP_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('DETALLE_REPUESTO_USADO')
            and   type = 'U')
   drop table DETALLE_REPUESTO_USADO
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('HERRAMIENTA')
            and   name  = 'HERR_ASIGNADA_FK'
            and   indid > 0
            and   indid < 255)
   drop index HERRAMIENTA.HERR_ASIGNADA_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('HERRAMIENTA')
            and   type = 'U')
   drop table HERRAMIENTA
go

if exists (select 1
            from  sysobjects
           where  id = object_id('INSUMO')
            and   type = 'U')
   drop table INSUMO
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('MAQUINA_CLIENTE')
            and   name  = 'MAQ_ES_DE_TIPO_MAQ_FK'
            and   indid > 0
            and   indid < 255)
   drop index MAQUINA_CLIENTE.MAQ_ES_DE_TIPO_MAQ_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('MAQUINA_CLIENTE')
            and   name  = 'CLI_POSEE_MAQ_FK'
            and   indid > 0
            and   indid < 255)
   drop index MAQUINA_CLIENTE.CLI_POSEE_MAQ_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('MAQUINA_CLIENTE')
            and   type = 'U')
   drop table MAQUINA_CLIENTE
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('ORDEN_DE_TRABAJO')
            and   name  = 'CLI_TIENE_OT_FK'
            and   indid > 0
            and   indid < 255)
   drop index ORDEN_DE_TRABAJO.CLI_TIENE_OT_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('ORDEN_DE_TRABAJO')
            and   name  = 'MAQ_APARECE_OT_FK'
            and   indid > 0
            and   indid < 255)
   drop index ORDEN_DE_TRABAJO.MAQ_APARECE_OT_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('ORDEN_DE_TRABAJO')
            and   type = 'U')
   drop table ORDEN_DE_TRABAJO
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('PEDIDO_MATERIAL')
            and   name  = 'TRAB_HACE_PEDI_FK'
            and   indid > 0
            and   indid < 255)
   drop index PEDIDO_MATERIAL.TRAB_HACE_PEDI_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('PEDIDO_MATERIAL')
            and   type = 'U')
   drop table PEDIDO_MATERIAL
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('PRECIO_CONTRATO_CLIENTE')
            and   name  = 'PREC_CONTR_TRAB_FK'
            and   indid > 0
            and   indid < 255)
   drop index PRECIO_CONTRATO_CLIENTE.PREC_CONTR_TRAB_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('PRECIO_CONTRATO_CLIENTE')
            and   name  = 'ES_DEL_CLI_FK'
            and   indid > 0
            and   indid < 255)
   drop index PRECIO_CONTRATO_CLIENTE.ES_DEL_CLI_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('PRECIO_CONTRATO_CLIENTE')
            and   name  = 'PARA_TIPO_MAQ_FK'
            and   indid > 0
            and   indid < 255)
   drop index PRECIO_CONTRATO_CLIENTE.PARA_TIPO_MAQ_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('PRECIO_CONTRATO_CLIENTE')
            and   type = 'U')
   drop table PRECIO_CONTRATO_CLIENTE
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('PRECIO_INSUMO_CONTRATO')
            and   name  = 'VALOR_INS_CONVENIO_FK'
            and   indid > 0
            and   indid < 255)
   drop index PRECIO_INSUMO_CONTRATO.VALOR_INS_CONVENIO_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('PRECIO_INSUMO_CONTRATO')
            and   name  = 'SE_COBRA_INS_FK'
            and   indid > 0
            and   indid < 255)
   drop index PRECIO_INSUMO_CONTRATO.SE_COBRA_INS_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('PRECIO_INSUMO_CONTRATO')
            and   type = 'U')
   drop table PRECIO_INSUMO_CONTRATO
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('PRECIO_REPUESTO_CONTRATO')
            and   name  = 'VALOR_CONVENIO_REP_FK'
            and   indid > 0
            and   indid < 255)
   drop index PRECIO_REPUESTO_CONTRATO.VALOR_CONVENIO_REP_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('PRECIO_REPUESTO_CONTRATO')
            and   name  = 'SE_COBRA_REP_FK'
            and   indid > 0
            and   indid < 255)
   drop index PRECIO_REPUESTO_CONTRATO.SE_COBRA_REP_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('PRECIO_REPUESTO_CONTRATO')
            and   type = 'U')
   drop table PRECIO_REPUESTO_CONTRATO
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('PRECIO_TRABAJO_PARTICULAR')
            and   name  = 'VAL_TRAB_PART_FK'
            and   indid > 0
            and   indid < 255)
   drop index PRECIO_TRABAJO_PARTICULAR.VAL_TRAB_PART_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('PRECIO_TRABAJO_PARTICULAR')
            and   name  = 'PARA_TIPO_MAQ_PART_FK'
            and   indid > 0
            and   indid < 255)
   drop index PRECIO_TRABAJO_PARTICULAR.PARA_TIPO_MAQ_PART_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('PRECIO_TRABAJO_PARTICULAR')
            and   type = 'U')
   drop table PRECIO_TRABAJO_PARTICULAR
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('PRESUPUESTO')
            and   name  = 'MAQ_AP_PRES_FK'
            and   indid > 0
            and   indid < 255)
   drop index PRESUPUESTO.MAQ_AP_PRES_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('PRESUPUESTO')
            and   name  = 'CLI_TIENE_PRES_FK'
            and   indid > 0
            and   indid < 255)
   drop index PRESUPUESTO.CLI_TIENE_PRES_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('PRESUPUESTO')
            and   type = 'U')
   drop table PRESUPUESTO
go

if exists (select 1
            from  sysobjects
           where  id = object_id('REPUESTO')
            and   type = 'U')
   drop table REPUESTO
go

if exists (select 1
            from  sysobjects
           where  id = object_id('TIPO_MAQUINA')
            and   type = 'U')
   drop table TIPO_MAQUINA
go

if exists (select 1
            from  sysobjects
           where  id = object_id('TRABAJADOR')
            and   type = 'U')
   drop table TRABAJADOR
go

if exists (select 1
            from  sysobjects
           where  id = object_id('TRABAJO')
            and   type = 'U')
   drop table TRABAJO
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('TRABAJO_MAQUINA')
            and   name  = 'MAQ_TRAB_FK'
            and   indid > 0
            and   indid < 255)
   drop index TRABAJO_MAQUINA.MAQ_TRAB_FK
go

if exists (select 1
            from  sysindexes
           where  id    = object_id('TRABAJO_MAQUINA')
            and   name  = 'TRAB_POSIBLES_FK'
            and   indid > 0
            and   indid < 255)
   drop index TRABAJO_MAQUINA.TRAB_POSIBLES_FK
go

if exists (select 1
            from  sysobjects
           where  id = object_id('TRABAJO_MAQUINA')
            and   type = 'U')
   drop table TRABAJO_MAQUINA
go

/*==============================================================*/
/* Table: ASIGNACION_MATERIAL_TRABAJADOR                        */
/*==============================================================*/
create table ASIGNACION_MATERIAL_TRABAJADOR (
   ID_TRABAJADOR        numeric              not null,
   ID_ASIGNACION_MATERIAL_TRABAJADOR numeric              identity,
   CANTIDAD_ASIGNADA_MATERIAL_TRABAJADOR smallint             null,
   constraint PK_ASIGNACION_MATERIAL_TRABAJA primary key nonclustered (ID_TRABAJADOR, ID_ASIGNACION_MATERIAL_TRABAJADOR)
)
go

/*==============================================================*/
/* Index: SE_LE_ASIGNAN_FK                                      */
/*==============================================================*/
create index SE_LE_ASIGNAN_FK on ASIGNACION_MATERIAL_TRABAJADOR (
ID_TRABAJADOR ASC
)
go

/*==============================================================*/
/* Table: CLIENTE                                               */
/*==============================================================*/
create table CLIENTE (
   RUT                  varchar(15)          not null,
   NOMBRE               text                 null,
   DIRECCION            text                 null,
   TELEFONO             int                  null,
   constraint PK_CLIENTE primary key nonclustered (RUT)
)
go

/*==============================================================*/
/* Table: COMPOSICION                                           */
/*==============================================================*/
create table COMPOSICION (
   ID_TRABAJO           varchar(10)          not null,
   TRA_ID_TRABAJO       varchar(10)          not null,
   constraint PK_COMPOSICION primary key (ID_TRABAJO, TRA_ID_TRABAJO)
)
go

/*==============================================================*/
/* Index: COMPONE_FK                                            */
/*==============================================================*/
create index COMPONE_FK on COMPOSICION (
ID_TRABAJO ASC
)
go

/*==============================================================*/
/* Index: SE_COMPONE_FK                                         */
/*==============================================================*/
create index SE_COMPONE_FK on COMPOSICION (
TRA_ID_TRABAJO ASC
)
go

/*==============================================================*/
/* Table: DETALLE_HERRAMIENTA_PEDIDO                            */
/*==============================================================*/
create table DETALLE_HERRAMIENTA_PEDIDO (
   ID_PEDIDO_MATERIAL   numeric              not null,
   LINEA_HERRAMIENTA_PEDIDA numeric              identity,
   ID_HERRAMIENTA       numeric              not null,
   CANTIDAD_HERRAMIENTA_PEDIDA int                  null,
   constraint PK_DETALLE_HERRAMIENTA_PEDIDO primary key nonclustered (ID_PEDIDO_MATERIAL, LINEA_HERRAMIENTA_PEDIDA)
)
go

/*==============================================================*/
/* Index: HERR_PEDIDA_FK                                        */
/*==============================================================*/
create index HERR_PEDIDA_FK on DETALLE_HERRAMIENTA_PEDIDO (
ID_HERRAMIENTA ASC
)
go

/*==============================================================*/
/* Index: DET_HERR_PEDI_FK                                      */
/*==============================================================*/
create index DET_HERR_PEDI_FK on DETALLE_HERRAMIENTA_PEDIDO (
ID_PEDIDO_MATERIAL ASC
)
go

/*==============================================================*/
/* Table: DETALLE_INSUMO_MAQUINA_TRABAJO                        */
/*==============================================================*/
create table DETALLE_INSUMO_MAQUINA_TRABAJO (
   ID_TRABAJO           varchar(10)          not null,
   ID_TRABAJO_MAQUINA   numeric              not null,
   ID_INSUMO_MAQUINA_TRABAJO numeric              identity,
   COD_INSUMO           numeric              not null,
   CANTIDAD_INSUMO_MAQUINA_TRABAJO float                null,
   UNIDAD_INSUMO_MAQUINA_TRABAJO text                 null,
   constraint PK_DETALLE_INSUMO_MAQUINA_TRAB primary key nonclustered (ID_TRABAJO, ID_TRABAJO_MAQUINA, ID_INSUMO_MAQUINA_TRABAJO)
)
go

/*==============================================================*/
/* Index: USARIA_INS_FK                                         */
/*==============================================================*/
create index USARIA_INS_FK on DETALLE_INSUMO_MAQUINA_TRABAJO (
COD_INSUMO ASC
)
go

/*==============================================================*/
/* Index: NEC_INS_FK                                            */
/*==============================================================*/
create index NEC_INS_FK on DETALLE_INSUMO_MAQUINA_TRABAJO (
ID_TRABAJO ASC,
ID_TRABAJO_MAQUINA ASC
)
go

/*==============================================================*/
/* Table: DETALLE_INSUMO_PEDIDO                                 */
/*==============================================================*/
create table DETALLE_INSUMO_PEDIDO (
   ID_PEDIDO_MATERIAL   numeric              not null,
   LINEA_INSUMO_PEDIDO  numeric              identity,
   COD_INSUMO           numeric              not null,
   CANTIDAD_INSUMO_PEDIDO int                  null,
   constraint PK_DETALLE_INSUMO_PEDIDO primary key nonclustered (ID_PEDIDO_MATERIAL, LINEA_INSUMO_PEDIDO)
)
go

/*==============================================================*/
/* Index: DET_INS_PEDI_FK                                       */
/*==============================================================*/
create index DET_INS_PEDI_FK on DETALLE_INSUMO_PEDIDO (
ID_PEDIDO_MATERIAL ASC
)
go

/*==============================================================*/
/* Index: PIDE_INS_FK                                           */
/*==============================================================*/
create index PIDE_INS_FK on DETALLE_INSUMO_PEDIDO (
COD_INSUMO ASC
)
go

/*==============================================================*/
/* Table: DETALLE_INSUMO_USADO                                  */
/*==============================================================*/
create table DETALLE_INSUMO_USADO (
   ID_PRESUPUESTO       numeric              not null,
   LINEA_PRESUPUESTO    numeric              not null,
   ID_INSUMO_USADO      numeric              identity,
   COD_INSUMO           numeric              null,
   CANTIDAD_INSUMO_USADO float                null,
   UNIDAD_INSUMO_USADO  text                 null,
   VALOR_UNIDAD_INSUMO_USADO money                null,
   VALOR_TOTAL_INSUMO_USADO money                null,
   constraint PK_DETALLE_INSUMO_USADO primary key nonclustered (ID_PRESUPUESTO, LINEA_PRESUPUESTO, ID_INSUMO_USADO)
)
go

/*==============================================================*/
/* Index: USA_INS_FK                                            */
/*==============================================================*/
create index USA_INS_FK on DETALLE_INSUMO_USADO (
COD_INSUMO ASC
)
go

/*==============================================================*/
/* Index: DET_INS_PRES_FK                                       */
/*==============================================================*/
create index DET_INS_PRES_FK on DETALLE_INSUMO_USADO (
ID_PRESUPUESTO ASC,
LINEA_PRESUPUESTO ASC
)
go

/*==============================================================*/
/* Table: DETALLE_OT                                            */
/*==============================================================*/
create table DETALLE_OT (
   ID_OT                numeric              not null,
   NUM_LINEA            int                  not null,
   ID_TRABAJO           varchar(10)          null,
   VALOR_DET_OT         int                  null,
   HH_DET_OT            float                null,
   TOTAL_INSUMO_DET_OT  money                null,
   TOTAL_REPUESTO_DET_OT money                null,
   constraint PK_DETALLE_OT primary key nonclustered (ID_OT, NUM_LINEA)
)
go

/*==============================================================*/
/* Index: DET_TRAB_FK                                           */
/*==============================================================*/
create index DET_TRAB_FK on DETALLE_OT (
ID_OT ASC
)
go

/*==============================================================*/
/* Index: TRAB_REALI_FK                                         */
/*==============================================================*/
create index TRAB_REALI_FK on DETALLE_OT (
ID_TRABAJO ASC
)
go

/*==============================================================*/
/* Table: DETALLE_PRESUPUESTO                                   */
/*==============================================================*/
create table DETALLE_PRESUPUESTO (
   ID_PRESUPUESTO       numeric              not null,
   LINEA_PRESUPUESTO    numeric              identity,
   ID_TRABAJO           varchar(10)          not null,
   TOTAL_TRABAJO_PRESUPUESTO money                null,
   constraint PK_DETALLE_PRESUPUESTO primary key nonclustered (ID_PRESUPUESTO, LINEA_PRESUPUESTO)
)
go

/*==============================================================*/
/* Index: APARECE_DET_PRES_FK                                   */
/*==============================================================*/
create index APARECE_DET_PRES_FK on DETALLE_PRESUPUESTO (
ID_TRABAJO ASC
)
go

/*==============================================================*/
/* Index: PRES_SE_DET_FK                                        */
/*==============================================================*/
create index PRES_SE_DET_FK on DETALLE_PRESUPUESTO (
ID_PRESUPUESTO ASC
)
go

/*==============================================================*/
/* Table: DETALLE_REPUESTO_MAQUINA_TRABAJO                      */
/*==============================================================*/
create table DETALLE_REPUESTO_MAQUINA_TRABAJO (
   ID_TRABAJO           varchar(10)          not null,
   ID_TRABAJO_MAQUINA   numeric              not null,
   ID_REPUESTO_MAQUINA_TRABAJO numeric              identity,
   CODIGO_REPUESTO      numeric              null,
   CANTIDAD_REPUESTO_MAQUINA_TRABAJO int                  null,
   constraint PK_DETALLE_REPUESTO_MAQUINA_TR primary key nonclustered (ID_TRABAJO, ID_TRABAJO_MAQUINA, ID_REPUESTO_MAQUINA_TRABAJO)
)
go

/*==============================================================*/
/* Index: USARIA_REP_FK                                         */
/*==============================================================*/
create index USARIA_REP_FK on DETALLE_REPUESTO_MAQUINA_TRABAJO (
CODIGO_REPUESTO ASC
)
go

/*==============================================================*/
/* Index: NEC_REP_FK                                            */
/*==============================================================*/
create index NEC_REP_FK on DETALLE_REPUESTO_MAQUINA_TRABAJO (
ID_TRABAJO ASC,
ID_TRABAJO_MAQUINA ASC
)
go

/*==============================================================*/
/* Table: DETALLE_REPUESTO_PEDIDO                               */
/*==============================================================*/
create table DETALLE_REPUESTO_PEDIDO (
   ID_PEDIDO_MATERIAL   numeric              not null,
   LINEA_REPUESTO_PEDIDO numeric              identity,
   CODIGO_REPUESTO      numeric              not null,
   CANTIDAD_REPUESTO_PEDIDO int                  null,
   constraint PK_DETALLE_REPUESTO_PEDIDO primary key nonclustered (ID_PEDIDO_MATERIAL, LINEA_REPUESTO_PEDIDO)
)
go

/*==============================================================*/
/* Index: DET_REP_PEDI_FK                                       */
/*==============================================================*/
create index DET_REP_PEDI_FK on DETALLE_REPUESTO_PEDIDO (
ID_PEDIDO_MATERIAL ASC
)
go

/*==============================================================*/
/* Index: PIDE_REP_FK                                           */
/*==============================================================*/
create index PIDE_REP_FK on DETALLE_REPUESTO_PEDIDO (
CODIGO_REPUESTO ASC
)
go

/*==============================================================*/
/* Table: DETALLE_REPUESTO_USADO                                */
/*==============================================================*/
create table DETALLE_REPUESTO_USADO (
   ID_PRESUPUESTO       numeric              not null,
   LINEA_PRESUPUESTO    numeric              not null,
   ID_REPUESTO_USADO    numeric              identity,
   CODIGO_REPUESTO      numeric              not null,
   CANTIDAD_REPUESTO_USADO int                  null,
   VALOR_UNIDAD_REPUESTO_USADO money                null,
   VALOR_TOTAL_REPUESTO_USADO money                null,
   constraint PK_DETALLE_REPUESTO_USADO primary key nonclustered (ID_PRESUPUESTO, LINEA_PRESUPUESTO, ID_REPUESTO_USADO)
)
go

/*==============================================================*/
/* Index: USA_REP_FK                                            */
/*==============================================================*/
create index USA_REP_FK on DETALLE_REPUESTO_USADO (
CODIGO_REPUESTO ASC
)
go

/*==============================================================*/
/* Index: DET_REP_PRES_FK                                       */
/*==============================================================*/
create index DET_REP_PRES_FK on DETALLE_REPUESTO_USADO (
ID_PRESUPUESTO ASC,
LINEA_PRESUPUESTO ASC
)
go

/*==============================================================*/
/* Table: HERRAMIENTA                                           */
/*==============================================================*/
create table HERRAMIENTA (
   ID_HERRAMIENTA       numeric              identity,
   ID_TRABAJADOR        numeric              not null,
   ID_ASIGNACION_MATERIAL_TRABAJADOR numeric              not null,
   DESCRIPCION_HERRAMIENTA text                 null,
   CANTIDAD_HERRAMIENTA_BODEGA int                  null,
   constraint PK_HERRAMIENTA primary key nonclustered (ID_HERRAMIENTA)
)
go

/*==============================================================*/
/* Index: HERR_ASIGNADA_FK                                      */
/*==============================================================*/
create index HERR_ASIGNADA_FK on HERRAMIENTA (
ID_TRABAJADOR ASC,
ID_ASIGNACION_MATERIAL_TRABAJADOR ASC
)
go

/*==============================================================*/
/* Table: INSUMO                                                */
/*==============================================================*/
create table INSUMO (
   COD_INSUMO           numeric              identity,
   DESCRIPCION_INSUMO   text                 null,
   PRECIO_UNITARIO_INSUMO money                null,
   CANTIDAD_INSUMO_BODEGA int                  null,
   PRECIO_TOTAL_INSUMO_BODEGA money                null,
   constraint PK_INSUMO primary key nonclustered (COD_INSUMO)
)
go

/*==============================================================*/
/* Table: MAQUINA_CLIENTE                                       */
/*==============================================================*/
create table MAQUINA_CLIENTE (
   ID_MAQUINA           numeric              identity,
   ID_TIPO_MAQUINA      varchar(15)          not null,
   RUT                  varchar(15)          not null,
   NUM_MOTOR            text                 null,
   NUM_SERIE            text                 null,
   SIGLA                text                 null,
   ANTERIOR             text                 null,
   ACTUAL               text                 null,
   constraint PK_MAQUINA_CLIENTE primary key nonclustered (ID_MAQUINA)
)
go

/*==============================================================*/
/* Index: CLI_POSEE_MAQ_FK                                      */
/*==============================================================*/
create index CLI_POSEE_MAQ_FK on MAQUINA_CLIENTE (
RUT ASC
)
go

/*==============================================================*/
/* Index: MAQ_ES_DE_TIPO_MAQ_FK                                 */
/*==============================================================*/
create index MAQ_ES_DE_TIPO_MAQ_FK on MAQUINA_CLIENTE (
ID_TIPO_MAQUINA ASC
)
go

/*==============================================================*/
/* Table: ORDEN_DE_TRABAJO                                      */
/*==============================================================*/
create table ORDEN_DE_TRABAJO (
   ID_OT                numeric              identity,
   RUT                  varchar(15)          not null,
   ID_MAQUINA           numeric              not null,
   FECHA_OT_RECIBIDA    datetime             null,
   FECHA_OT_ENTREGADA   datetime             null,
   ESTADIA_OT           datetime             null,
   CHOFER_MAQ_OT        text                 null,
   KM_HOROMETRO_OT      float(15)            null,
   LUGAR_OT             text                 null,
   TOTAL_OT             money                null,
   constraint PK_ORDEN_DE_TRABAJO primary key nonclustered (ID_OT)
)
go

/*==============================================================*/
/* Index: MAQ_APARECE_OT_FK                                     */
/*==============================================================*/
create index MAQ_APARECE_OT_FK on ORDEN_DE_TRABAJO (
ID_MAQUINA ASC
)
go

/*==============================================================*/
/* Index: CLI_TIENE_OT_FK                                       */
/*==============================================================*/
create index CLI_TIENE_OT_FK on ORDEN_DE_TRABAJO (
RUT ASC
)
go

/*==============================================================*/
/* Table: PEDIDO_MATERIAL                                       */
/*==============================================================*/
create table PEDIDO_MATERIAL (
   ID_PEDIDO_MATERIAL   numeric              identity,
   ID_TRABAJADOR        numeric              not null,
   FECHA_PETICION_MATERIAL datetime             null,
   FECHA_RECEPCION_MATERIAL datetime             null,
   constraint PK_PEDIDO_MATERIAL primary key nonclustered (ID_PEDIDO_MATERIAL)
)
go

/*==============================================================*/
/* Index: TRAB_HACE_PEDI_FK                                     */
/*==============================================================*/
create index TRAB_HACE_PEDI_FK on PEDIDO_MATERIAL (
ID_TRABAJADOR ASC
)
go

/*==============================================================*/
/* Table: PRECIO_CONTRATO_CLIENTE                               */
/*==============================================================*/
create table PRECIO_CONTRATO_CLIENTE (
   RUT                  varchar(15)          not null,
   ID_PRECIO_CONTRATO   numeric              identity,
   ID_TIPO_MAQUINA      varchar(15)          null,
   ID_TRABAJO           varchar(10)          null,
   VALOR_HH_CONTRATO    money                null,
   VALOR_INSUMO_CONTRATO money                null,
   VALOR_RESPUESTO_CONTRATO money                null,
   VALOR_TOTAL_TRABAJO  money                null,
   constraint PK_PRECIO_CONTRATO_CLIENTE primary key nonclustered (RUT, ID_PRECIO_CONTRATO)
)
go

/*==============================================================*/
/* Index: PARA_TIPO_MAQ_FK                                      */
/*==============================================================*/
create index PARA_TIPO_MAQ_FK on PRECIO_CONTRATO_CLIENTE (
ID_TIPO_MAQUINA ASC
)
go

/*==============================================================*/
/* Index: ES_DEL_CLI_FK                                         */
/*==============================================================*/
create index ES_DEL_CLI_FK on PRECIO_CONTRATO_CLIENTE (
RUT ASC
)
go

/*==============================================================*/
/* Index: PREC_CONTR_TRAB_FK                                    */
/*==============================================================*/
create index PREC_CONTR_TRAB_FK on PRECIO_CONTRATO_CLIENTE (
ID_TRABAJO ASC
)
go

/*==============================================================*/
/* Table: PRECIO_INSUMO_CONTRATO                                */
/*==============================================================*/
create table PRECIO_INSUMO_CONTRATO (
   RUT                  varchar(15)          not null,
   ID_PRECIO_INSUMO_CONTRATO numeric              identity,
   COD_INSUMO           numeric              not null,
   PRECIO_INSUMO_CONTRATO money                null,
   UNIDAD_INSUMO_CONTRATO text                 null,
   constraint PK_PRECIO_INSUMO_CONTRATO primary key nonclustered (RUT, ID_PRECIO_INSUMO_CONTRATO)
)
go

/*==============================================================*/
/* Index: SE_COBRA_INS_FK                                       */
/*==============================================================*/
create index SE_COBRA_INS_FK on PRECIO_INSUMO_CONTRATO (
RUT ASC
)
go

/*==============================================================*/
/* Index: VALOR_INS_CONVENIO_FK                                 */
/*==============================================================*/
create index VALOR_INS_CONVENIO_FK on PRECIO_INSUMO_CONTRATO (
COD_INSUMO ASC
)
go

/*==============================================================*/
/* Table: PRECIO_REPUESTO_CONTRATO                              */
/*==============================================================*/
create table PRECIO_REPUESTO_CONTRATO (
   RUT                  varchar(15)          not null,
   ID_PRECIO_REPUESTO_CONTRATO numeric              identity,
   CODIGO_REPUESTO      numeric              null,
   PRECIO_REPUESTO_CONTRATO money                null,
   constraint PK_PRECIO_REPUESTO_CONTRATO primary key nonclustered (RUT, ID_PRECIO_REPUESTO_CONTRATO)
)
go

/*==============================================================*/
/* Index: SE_COBRA_REP_FK                                       */
/*==============================================================*/
create index SE_COBRA_REP_FK on PRECIO_REPUESTO_CONTRATO (
RUT ASC
)
go

/*==============================================================*/
/* Index: VALOR_CONVENIO_REP_FK                                 */
/*==============================================================*/
create index VALOR_CONVENIO_REP_FK on PRECIO_REPUESTO_CONTRATO (
CODIGO_REPUESTO ASC
)
go

/*==============================================================*/
/* Table: PRECIO_TRABAJO_PARTICULAR                             */
/*==============================================================*/
create table PRECIO_TRABAJO_PARTICULAR (
   ID_PRECIO_TRABAJO_PARTICULAR numeric              identity,
   ID_TIPO_MAQUINA      varchar(15)          not null,
   ID_TRABAJO           varchar(10)          not null,
   VALOR_HH_PARTICULAR  money                null,
   PORCENTAJE_GANANCIA  real                 null,
   HH_TOTALES_TRABAJO   float                null,
   constraint PK_PRECIO_TRABAJO_PARTICULAR primary key nonclustered (ID_PRECIO_TRABAJO_PARTICULAR)
)
go

/*==============================================================*/
/* Index: PARA_TIPO_MAQ_PART_FK                                 */
/*==============================================================*/
create index PARA_TIPO_MAQ_PART_FK on PRECIO_TRABAJO_PARTICULAR (
ID_TIPO_MAQUINA ASC
)
go

/*==============================================================*/
/* Index: VAL_TRAB_PART_FK                                      */
/*==============================================================*/
create index VAL_TRAB_PART_FK on PRECIO_TRABAJO_PARTICULAR (
ID_TRABAJO ASC
)
go

/*==============================================================*/
/* Table: PRESUPUESTO                                           */
/*==============================================================*/
create table PRESUPUESTO (
   ID_PRESUPUESTO       numeric              identity,
   RUT                  varchar(15)          not null,
   ID_MAQUINA           numeric              not null,
   ESTADO_PRESUPUESTO   text                 null,
   FECHA_PRESUPUESTO    datetime             null,
   TOTAL_PRESUPUESTO    money                null,
   constraint PK_PRESUPUESTO primary key nonclustered (ID_PRESUPUESTO)
)
go

/*==============================================================*/
/* Index: CLI_TIENE_PRES_FK                                     */
/*==============================================================*/
create index CLI_TIENE_PRES_FK on PRESUPUESTO (
RUT ASC
)
go

/*==============================================================*/
/* Index: MAQ_AP_PRES_FK                                        */
/*==============================================================*/
create index MAQ_AP_PRES_FK on PRESUPUESTO (
ID_MAQUINA ASC
)
go

/*==============================================================*/
/* Table: REPUESTO                                              */
/*==============================================================*/
create table REPUESTO (
   CODIGO_REPUESTO      numeric              identity,
   DESCRIPCION_REPUESTO text                 null,
   VALOR_UNITARIO_REPUESTO money                null,
   CANTIDAD_REPUESTO_BODEGA int                  null,
   VALOR_TOTAL_REPUESTO_BODEGA money                null,
   constraint PK_REPUESTO primary key nonclustered (CODIGO_REPUESTO)
)
go

/*==============================================================*/
/* Table: TIPO_MAQUINA                                          */
/*==============================================================*/
create table TIPO_MAQUINA (
   ID_TIPO_MAQUINA      varchar(15)          not null,
   MARCA_MAQUINA        text                 null,
   MODELO_MAQUINA       text                 null,
   DESCRIPCION_MAQUINA  text                 null,
   constraint PK_TIPO_MAQUINA primary key nonclustered (ID_TIPO_MAQUINA)
)
go

/*==============================================================*/
/* Table: TRABAJADOR                                            */
/*==============================================================*/
create table TRABAJADOR (
   ID_TRABAJADOR        numeric              identity,
   RUT_TRABAJADOR       text                 null,
   NOMBRE_TRABAJADOR    text                 null,
   ESPECIALIDAD_TRABAJADOR text                 null,
   CARGO_TRABAJADOR     text                 null,
   DIRECCION_TRABAJADOR text                 null,
   TELEFONO_TRABAJADOR  text                 null,
   constraint PK_TRABAJADOR primary key nonclustered (ID_TRABAJADOR)
)
go

/*==============================================================*/
/* Table: TRABAJO                                               */
/*==============================================================*/
create table TRABAJO (
   ID_TRABAJO           varchar(10)          not null,
   DESCRIPCION_TRABAJO  text                 null,
   TIPO_TRABAJO         bit                  null,
   constraint PK_TRABAJO primary key nonclustered (ID_TRABAJO)
)
go

/*==============================================================*/
/* Table: TRABAJO_MAQUINA                                       */
/*==============================================================*/
create table TRABAJO_MAQUINA (
   ID_TRABAJO           varchar(10)          not null,
   ID_TRABAJO_MAQUINA   numeric              identity,
   ID_TIPO_MAQUINA      varchar(15)          not null,
   HH_NECESARIAS_TRABAJO_MAQUINA real                 null,
   constraint PK_TRABAJO_MAQUINA primary key nonclustered (ID_TRABAJO, ID_TRABAJO_MAQUINA)
)
go

/*==============================================================*/
/* Index: TRAB_POSIBLES_FK                                      */
/*==============================================================*/
create index TRAB_POSIBLES_FK on TRABAJO_MAQUINA (
ID_TIPO_MAQUINA ASC
)
go

/*==============================================================*/
/* Index: MAQ_TRAB_FK                                           */
/*==============================================================*/
create index MAQ_TRAB_FK on TRABAJO_MAQUINA (
ID_TRABAJO ASC
)
go

